package com.blrs.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.blrs.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.blrs.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 采购管理对象 purchasing
 * 
 * @author ruoyi
 * @date 2023-10-17
 */
public class Purchasing extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private String id;

    /** 主分类 */
    private String classificationId;

    /** 采购编号 */
    @Excel(name = "采购编号")
    private String purchasingNo;

    /** 建立时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "建立时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date establishTime;

    /** 供应商 */
    @Excel(name = "供应商")
    private String supplier;

    /** 客户名称 */
    @Excel(name = "客户名称")
    private String enterpriseName;

    /** 项目编号 */
    @Excel(name = "项目编号")
    private String projectNo;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 计划名称 */
    private String planName;

    /** 计划时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date planTime;

    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date completeTime;

    /** 费用 */
    @Excel(name = "费用")
    private BigDecimal fee;

    /** 实付费用 */
    private BigDecimal realityFee;

    /** 状态 */
    @Excel(name = "状态",dictType = "procure_status")
    private String status;

    /** 附件 */
    private String fileUpload;

    /** 操作人id */
    private Long operateId;

    /** 部门id */
    private Long departmentId;

    /** 部门名称 */
    private String departmentName;

    /** 组织机构id */
    private Long organizationId;

    /** 组织机构名称 */
    private String organizationName;

    /** 创建时间 */
    private Date creationTime;

    /** 操作时间 */
    private Date operateTime;

    /** 是否为项目管理生成的 */
    private String isProject;

    //附件路径
    private String fileUrl;

    //开户银行
    @Excel(name = "开户银行")
    private String bankName;

    //开户账号
    @Excel(name = "开户账号")
    private String bankNo;

    //单价
    @Excel(name = "单价")
    private BigDecimal unitPrice;

    //数量
    @Excel(name = "数量")
    private Integer num=0;

    //总金额
    @Excel(name = "总金额")
    private BigDecimal totalPrice;


    //是否是采购
    private String isCooperate;

    //外协id
    private String outsourcingId;

    //是否提交
    private int isSubmit;

    //审核人id
    private Long examineId;

    //审核人姓名
    private String examineName;

    //审核状态
    private String examineStatus="未提交";

    //项目id
    private String projectId;

    public String getProjectId() {
        return projectId;
    }

    public void setProjectId(String projectId) {
        this.projectId = projectId;
    }

    public String getExamineStatus() {
        return examineStatus;
    }

    public void setExamineStatus(String examineStatus) {
        this.examineStatus = examineStatus;
    }

    public int getIsSubmit() {
        return isSubmit;
    }

    public void setIsSubmit(int isSubmit) {
        this.isSubmit = isSubmit;
    }

    public Long getExamineId() {
        return examineId;
    }

    public void setExamineId(Long examineId) {
        this.examineId = examineId;
    }

    public String getExamineName() {
        return examineName;
    }

    public void setExamineName(String examineName) {
        this.examineName = examineName;
    }

    public BigDecimal getTotalPrice() {
        return totalPrice;
    }

    public void setTotalPrice(BigDecimal totalPrice) {
        this.totalPrice = totalPrice;
    }

    public String getIsCooperate() {
        return isCooperate;
    }

    public void setIsCooperate(String isCooperate) {
        this.isCooperate = isCooperate;
    }

    public String getOutsourcingId() {
        return outsourcingId;
    }

    public void setOutsourcingId(String outsourcingId) {
        this.outsourcingId = outsourcingId;
    }

    public String getBankName() {
        return bankName;
    }

    public void setBankName(String bankName) {
        this.bankName = bankName;
    }

    public String getBankNo() {
        return bankNo;
    }

    public void setBankNo(String bankNo) {
        this.bankNo = bankNo;
    }

    public BigDecimal getUnitPrice() {
        return unitPrice;
    }

    public void setUnitPrice(BigDecimal unitPrice) {
        this.unitPrice = unitPrice;
    }

    public Integer getNum() {
        return num;
    }

    public void setNum(Integer num) {
        this.num = num;
    }

    public String getFileUrl() {
        return fileUrl;
    }

    public void setFileUrl(String fileUrl) {
        this.fileUrl = fileUrl;
    }

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setClassificationId(String classificationId) 
    {
        this.classificationId = classificationId;
    }

    public String getClassificationId() 
    {
        return classificationId;
    }
    public void setPurchasingNo(String purchasingNo) 
    {
        this.purchasingNo = purchasingNo;
    }

    public String getPurchasingNo() 
    {
        return purchasingNo;
    }
    public void setEstablishTime(Date establishTime) 
    {
        this.establishTime = establishTime;
    }

    public Date getEstablishTime() 
    {
        return establishTime;
    }
    public void setSupplier(String supplier) 
    {
        this.supplier = supplier;
    }

    public String getSupplier() 
    {
        return supplier;
    }
    public void setEnterpriseName(String enterpriseName) 
    {
        this.enterpriseName = enterpriseName;
    }

    public String getEnterpriseName() 
    {
        return enterpriseName;
    }
    public void setProjectNo(String projectNo) 
    {
        this.projectNo = projectNo;
    }

    public String getProjectNo() 
    {
        return projectNo;
    }
    public void setProjectName(String projectName) 
    {
        this.projectName = projectName;
    }

    public String getProjectName() 
    {
        return projectName;
    }
    public void setPlanName(String planName) 
    {
        this.planName = planName;
    }

    public String getPlanName() 
    {
        return planName;
    }
    public void setPlanTime(Date planTime) 
    {
        this.planTime = planTime;
    }

    public Date getPlanTime() 
    {
        return planTime;
    }
    public void setCompleteTime(Date completeTime) 
    {
        this.completeTime = completeTime;
    }

    public Date getCompleteTime() 
    {
        return completeTime;
    }
    public void setFee(BigDecimal fee) 
    {
        this.fee = fee;
    }

    public BigDecimal getFee() 
    {
        return fee;
    }
    public void setRealityFee(BigDecimal realityFee) 
    {
        this.realityFee = realityFee;
    }

    public BigDecimal getRealityFee() 
    {
        return realityFee;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setFileUpload(String fileUpload) 
    {
        this.fileUpload = fileUpload;
    }

    public String getFileUpload() 
    {
        return fileUpload;
    }
    public void setOperateId(Long operateId) 
    {
        this.operateId = operateId;
    }

    public Long getOperateId() 
    {
        return operateId;
    }
    public void setDepartmentId(Long departmentId) 
    {
        this.departmentId = departmentId;
    }

    public Long getDepartmentId() 
    {
        return departmentId;
    }
    public void setDepartmentName(String departmentName) 
    {
        this.departmentName = departmentName;
    }

    public String getDepartmentName() 
    {
        return departmentName;
    }
    public void setOrganizationId(Long organizationId) 
    {
        this.organizationId = organizationId;
    }

    public Long getOrganizationId() 
    {
        return organizationId;
    }
    public void setOrganizationName(String organizationName) 
    {
        this.organizationName = organizationName;
    }

    public String getOrganizationName() 
    {
        return organizationName;
    }
    public void setCreationTime(Date creationTime) 
    {
        this.creationTime = creationTime;
    }

    public Date getCreationTime() 
    {
        return creationTime;
    }
    public void setOperateTime(Date operateTime) 
    {
        this.operateTime = operateTime;
    }

    public Date getOperateTime() 
    {
        return operateTime;
    }
    public void setIsProject(String isProject) 
    {
        this.isProject = isProject;
    }

    public String getIsProject() 
    {
        return isProject;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("classificationId", getClassificationId())
            .append("purchasingNo", getPurchasingNo())
            .append("establishTime", getEstablishTime())
            .append("supplier", getSupplier())
            .append("enterpriseName", getEnterpriseName())
            .append("projectNo", getProjectNo())
            .append("projectName", getProjectName())
            .append("planName", getPlanName())
            .append("planTime", getPlanTime())
            .append("completeTime", getCompleteTime())
            .append("fee", getFee())
            .append("realityFee", getRealityFee())
            .append("status", getStatus())
            .append("fileUpload", getFileUpload())
            .append("operateId", getOperateId())
            .append("departmentId", getDepartmentId())
            .append("departmentName", getDepartmentName())
            .append("organizationId", getOrganizationId())
            .append("organizationName", getOrganizationName())
            .append("creationTime", getCreationTime())
            .append("operateTime", getOperateTime())
            .append("isProject", getIsProject())
            .toString();
    }
}
